.execute-log {
  min-height: 100vh;
  background: #f7f8fa;
  padding-top: calc(env(safe-area-inset-top) + 160rpx);

  .execute-log-navbar {
    --nav-bar-icon-color: #343a40;
  }

  .progress-bar {
    background: #fff;
    padding: 32rpx 48rpx;
    position: relative;

    .step-items {
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 2;

      .step-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex: 1;
        position: relative;

        .line {
          position: absolute;
          width: 100%;
          height: 4px;
          background: #e8e8e8;
          left: 5px;
          top: 5px;
          right: 0;
          z-index: 0;
        }

        .text {
          font-size: 24rpx;
          color: #000;
          width: 60px;
          margin-left: -20px;
          text-align: center;
        }

        &:nth-child(3) {
          .line {
            width: calc(100% - 10px);
          }
        }

        &:last-child {
          position: absolute;
          right: 1px;
          width: auto;
          align-items: flex-end;
          right: 0;

          .text {
            transform: translateX(20px);
          }

          .dot-container {
            justify-content: flex-end;
          }

          .line {
            right: 0;
            background-color: #fff;
            width: 0;
          }
        }

        .dot-container {
          width: 22px;
          height: 22px;
          display: flex;
          justify-content: center;
          align-items: center;
          transform: translateY(-4px);
          margin-bottom: 10px;
          z-index: 2;

          .dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            border: solid 1px #ADB5BD
          }
        }

        &.active {
          .dot {
            background-color: #058aff;
          }

          .line {
            background: linear-gradient(90deg, #e5f1fe 0%, #409eff 100%);
          }
        }

        &.current {
          .dot-container {
            background: linear-gradient(45deg, #9b51e0 0%, #00c1de 100%);
            border-radius: 50%;
            display: flex;
            justify-self: center;
            align-items: center;
            width: 18px;
            height: 18px;
            transform: translateY(-2px);
            margin-bottom: 14px;

            .dot {
              background-color: #fff;
              width: 8px;
              height: 8px;
            }
          }

          .line {
            background: #e8e8e8 !important;
          }
        }
      }
    }
  }

  .log-content {
    padding: 32rpx;

    .executor {
      font-size: 28rpx;
      color: #666;
      margin-bottom: 32rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;

      .iconfont {
        color: #666;
      }
    }

    // .execute-log .log-content .log-items .log-item .dot.active::before {
    //   content: "";
    //   position: absolute;
    //   left: 20rpx;
    //   top: 20rpx;
    //   background: #058aff;
    //   width: 70%;
    //   height: 70%;
    // }

    .log-items {
      .log-item {
        display: flex;
        margin-bottom: 48rpx;
        position: relative;

        // 添加连接线
        &:not(:last-child)::after {
          content: "";
          position: absolute;
          left: 8px;
          top: 22px;
          width: 1px;
          height: calc(100%);
          background-color: #b7b9bd;
          z-index: 1;
        }

        .dot {
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: white;
          margin-right: 24rpx;
          flex-shrink: 0;
          position: relative;

          &.custom {
            background-color: transparent;
          }

          &.active {
            position: relative;
            border: solid 1px #ADB5BD;
            position: relative;


          }
        }


        .content {
          flex: 1;

          .finish-btn {
            background-color: #058aff;
            height: 40px;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            border-radius: 20px;
            color: #fff;
            font-size: 14px;
            cursor: pointer;
            padding: 8px 20px;
            box-sizing: border-box;
            margin: 0;
            width: auto;

            .icon {
              width: 20px;
              height: 20px;
              margin-right: 4px;
            }
          }

          .title {
            font-size: 32rpx;
            color: #333;
            font-weight: 500;
            margin-bottom: 16rpx;
            display: flex;
            align-items: center;
          }

          .gray-text {
            font-size: 28rpx;
            color: #666;
            margin-bottom: 8rpx;

            .iconfont {
              margin-left: 8px;
            }
          }

          .address {
            font-size: 28rpx;
            color: #666;
            margin-bottom: 8rpx;
            display: flex;
            align-items: center;
          }

          .price {
            color: #fb4603;
            font-weight: bold;
          }

          .blue-color {
            color: #1989fa;
          }

          .flex-row {
            display: flex;
            align-items: center;
            margin-bottom: 16rpx;
            font-size: 12px;
          }

          .time {
            font-size: 24rpx;
            color: #343a40;
            display: flex;
            align-items: center;
            margin-bottom: 16rpx;
          }

          .flex-row {
            .time {
              margin-bottom: 0;
            }
          }

          .pay-link {
            color: #1989fa;
            font-size: 24rpx;
            margin-left: 10px;
          }

          .images {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16rpx;
            margin-bottom: 16rpx;

            image {
              width: 100%;
              height: 160rpx;
              border-radius: 8rpx;
            }
          }

          .table-wrapper {
            display: flex;
            flex-direction: row;
            align-items: flex-end;

            .pay-button {
              width: 120rpx;
              font-size: 14px;
              height: 20px;
              display: flex;
              align-items: center;
              justify-content: center;
              padding: 8px 16px;
              border-radius: 3px;
              background-color: #058aff;
              color: #fff;
            }
          }

          .table {
            background-color: #fff;
            border-radius: 3px;

            .table-row {
              display: flex;
              align-items: center;
              padding: 16rpx 0;
              border-bottom: 1px solid #e8e8e8;

              .table-cell {
                width: auto;
                text-align: left;
                padding-left: 10px;
                padding-right: 20px;
                font-size: 14px;
              }
            }
          }

          .remark {
            font-size: 28rpx;
            color: #666;
            display: block;
          }

          .engineer {
            background: #fff;
            border-radius: 10px;
            padding: 24rpx;
            display: inline-flex;
            flex-direction: column;

            .top {
              display: flex;
              flex-direction: row;
              align-items: center;
            }

            .avatar {
              width: 40px;
              height: 40px;
              border-radius: 50%;
              margin-right: 24rpx;
            }

            .info {
              flex: 1;
              display: flex;
              flex-direction: column;
              justify-content: center;
              text-align: left;

              .name-row {
                display: flex;
                align-items: center;

                .name {
                  font-size: 32rpx;
                  font-weight: bold;
                  color: #333;
                  margin-right: 16rpx;
                }

                .rating {
                  color: #ff9500;
                  margin-right: 4px;
                }

                .rate-num {
                  font-size: 32rpx;
                  color: #000;
                  font-weight: bold;
                }
              }

              .company {
                font-size: 24rpx;
                color: #666;
              }
            }

            .certificates {
              display: flex;
              margin-top: 10px;
              flex-direction: row;
              gap: 8px;

              .cert-item {
                display: inline-block;
                width: 131px;
                height: 43px;
                box-sizing: border-box;

                .icon {
                  width: 100%;
                  height: 43px;
                }
              }
            }
          }

          .engineer+.flex-row {
            margin-top: 10px;
          }
        }
      }
    }
  }
}

.active .yuan {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  background: #1989fa;
  height: 60%;
  border-radius: 50%;
}